package com.eliza.base.di

import android.app.Application
import android.os.Bundle
import androidx.fragment.app.Fragment
import dagger.hilt.android.AndroidEntryPoint
import dagger.hilt.android.HiltAndroidApp
import javax.inject.Inject

//需要为 Application 类添加 @HiltAndroidApp 注解
@HiltAndroidApp
class MyApp : Application()


//为 Android 类添加 @AndroidEntryPoint 注解会创建一个沿袭 Android 类生命周期的依赖项容器。
/*
* Hilt 目前支持以下 Android 类型：Application（通过使用 @HiltAndroidApp）、Activity、Fragment、View、Service 和 BroadcastReceiver。
Hilt 仅支持扩展 FragmentActivity（例如 AppCompatActivity）的 activity 和扩展 Jetpack 库 Fragment 的 fragment，不支持 Android 平台中的 Fragment（现已弃用）。
* */
class LogsFragment : Fragment() {
    //    @Inject 注解让 Hilt 注入不同类型的实例： ：由 Hilt 注入的字段不能是私有字段。
    @Inject
    lateinit var logger: String
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
    }
}